Many businesses are continually searching for new ways to respond more rapidly to their customers' needs. Decision-makers require immediate access to accurate information to make immediate changes to business processes. Enterprise application integration (EAI) addresses these needs by enabling multiple applications within an organization to share information and functionality to automate business processes.
EAI provides the ability to integrate islands of automation without replacing existing legacy systems that perform satisfactorily. To accomplish this, an EAI architecture incorporates application-to-application adapters, business rules, data transformation technologies, and workflow management. For example, an EAI architecture can include interfaces to various databases and integrated business application programs.
One example of such databases and integrated business application programs is SAP R/3, which is a set of databases and integrated business application programs from Systems, Application and Products in Data Processing from SAP AG of Germany. SAP R/3 uses a client-server model and provides the ability to store, retrieve, analyze, and process corporate data for financial analysis, production operation, human resource management, and other business processes. SAP R/3 includes features designed to speed product delivery by helping to manage the supply chain. SAP R/3 can access the SAP R/3 database and applications through the Internet using a Web browser. For example, a sales representative can initiate the workflow for a sales order by filling out an electronic form on a laptop that is “translated” into input for the SAP R/3 system. Other interfaces such as Lotus Notes can also be used. The Web implementation adheres to the Workflow Client API standard of the Workflow Management Coalition (WfMC).
An example of such a workflow management (WFM) system is SAP Business Workflow from SAP AG, which is a database-centered WFM system that uses R/3 to provide an enterprise with standard functionality for information processing. It will be noted that SAP Business Workflow is integrated into R/3 and is not a stand-alone system. Such systems typically employ a standard document format
Intermediate Document (IDOC) is one such standard SAP document format. IDOCs allow different application systems to be linked via a message-based interface. One goal of the IDOCs standard is to allow business documents to be exchanged and processed automatically. The various degrees of structural complexity in different application systems can be reduced to a structure which is as simple as possible. Additionally, IDOC allows for extensive exception handling before the data is posted to the application.
Business application program interfaces (BAPIs) are programming interfaces to access the SAP Database from within SAP or other development platforms external to R/3 that support the Remote Function Call (RFC) protocol. The main objective of BAPI is to achieve integration between the R/3 System and external applications, legacy systems, and the like. BAPIs are defined in the Business Object Repository (BOR) as methods of SAP Business Objects or SAP Interface Types and enable object-oriented access to Business Components (application components) in the R/3 System. BAPIs can be accessed from various programming environments, for example, Java, C++, Visual Basic. Web based access to the SAP database is also supported. Several standard terms are now explained, to allow for a full and accurate discussion of the functionalities of such systems:                1) The term ABAP is a programming language used with SAP.        2) The term Remote Function Call (RFC) refers to SAP technology that allows external applications to call ABAP functions defined in SAP and allows SAP to call functions defined in external applications.        3) The term Synchronous RFC refers to two-way RFC calls into or out of SAP.        4) The term Transactional RFC (tRFC) refers to one-way RFC calls into or out of SAP with guaranteed delivery.        5) The term Application Link Enabling (ALE) refers to SAP's technology for transmitting IDOC data containers to and from external applications using Transactional RFC.        
Given the foregoing, it is often desirable to interface to a variety of third-party databases and information management systems. However, errors may occur in the generation, transmission and/or receipt of the data being written to or read from such third-party databases and information management systems. This typically forces the originating system to regenerate and retransmit the original data. If these tasks could be eliminated, or at least off-loaded from the originating system, a significant improvement in system performance could be had. Moreover, it is desirable to ensure that data to be written to an outside system (either from the perspective of the user's system, or that of the third-party system) is not lost in transit, if an error occurs.